/**
 * created by yangtong on 2025/5/18 11:25:47
 * 表格的列元信息
 */
export default interface TableColumn {
    /**
     * 唯一键，对应数据字段
     */
    key: string

    /**
     * 列标题，供表头使用
     */
    title: string

    /**
     * 列宽度，默认自动填充
     */
    width?: number

    /**
     * 列类型，纯文字，标签，开关，插槽（如果是插槽，会根据key去找到对应名称的插槽，并显示）
     */
    type?: 'index' | 'radio' | 'string' | 'tag' | 'switch' | 'slot' | 'date' | 'number' | 'image'

    /**
     * 列参数
     */
    attr?: Record<string, any>,

    /**
     * 列的对齐方式
     */
    align?: 'left' | 'center' | 'right'

    /**
     * 固定列，固定列必须设置 width
     */
    fixed?: 'left' | 'right'

    /**
     * 回调函数，如果callback不为空，就优先使用callback函数的返回值作为显示的数据
     * @param row 当前一整行的数据
     */
    callback?: (row: any) => any

    /**
     * 当前列的点击事件
     * @param row 当前一整行的数据
     */
    click?: (row: any) => void
}